package IT.DataAccess;

import IT.Entities.Cliente;
import IT.Entities.ProyectoActividad;
import IT.Entities.ProyectoActividadAdjunto;
import IT.Entities.ProyectoActividadHistorial;
import IT.Entities.ProyectoActividad;
import java.sql.Date;
import java.util.List;

public interface IDatProyectoActividad {
    
    public List<ProyectoActividad> Listar();
    public ProyectoActividad Ind(int nCodigo);
    public List<ProyectoActividad> Ubi(int nEtapa);
    public List<ProyectoActividad> Proyecto(int nProyecto);
    public List<ProyectoActividad> Emp(String cActividad,int nTipo,int nEstado,
                        boolean bFecha,Date dInicio,Date dFin,String cCliente,int nEmpleado);
    public List<ProyectoActividad> Sup(String cActividad,int nTipo,int nEstado,
                        boolean bFecha,Date dInicio,Date dFin,String cCliente,int nEmpleado);
    public List<ProyectoActividad> Apro(String cActividad,int nTipo,int nEstado,
                        boolean bFecha,Date dInicio,Date dFin,String cCliente,int nEmpleado);
    
    public List<ProyectoActividad> EmpCalendario(String cEmpleado);
   
    public List<ProyectoActividad> CanEmp(int nEmpleado);
    
    public List<ProyectoActividad> Mensaje(int nActividad);    
            
    public List<ProyectoActividad> Etapa(int nActividad);
    
    public List<ProyectoActividad> Tarea(String cActividad,
                        boolean bFecha,Date dInicio,Date dFin,int nEmpleado);
    public List<ProyectoActividad> Todos(boolean bFecha,Date dInicio,Date dFin);
    public Cliente IndCliente(int nCodigo);
    public void Insertar(ProyectoActividad ent);
    public void Editar(ProyectoActividad ent);
    public void EditarEstado(int nCodigo,int nEstado);
    public void Eliminar(int nCodigo);
    public void Asignar(int nCodigo,int nEtapa);
    public void Reasignar(int nCodigo,int nEjecutor);
    public void Aprobacion(int nCodigo, int nEmpleado);
    
    public int InsertarTarea(ProyectoActividad ent);
    public void EditarTarea(ProyectoActividad ent);
    /*Historial*/
    public void InsertarHistorial(ProyectoActividadHistorial ent);
    public List<ProyectoActividadHistorial> UbiHis(int nEtapa);
    public ProyectoActividadHistorial UltHis(int nActividad,int nTipo);
    
    /*Adjunto*/    
    public List<ProyectoActividadAdjunto> UbiAdjunto(int nActividad);
    public void InsertarAdjunto(ProyectoActividadAdjunto ent);
    public void EliminarAdjunto(int nCodigo);
    
    /*Actualizacion*/
    public void EtapaActivacion(int nEtapa);
    public void Activacion(int nActividad);
    
    /*Aprobacion*/
    
    public int Aprobador(int nActividad,int nEmpleado);
}
